<?php
class Corte
{
	
	function filtro($params)
	{
		if(trim($params)=="")
			return '{"fechaIni":"'.date("Y-m-d").'"}';
		else{
			$p=json_decode( str_replace("\\\"", "\"",$params) );
			if(!isset($p->txtInicio) && !isset($p->txtFin))
				$p->fechaIni=date("Y-m-d");
			return json_encode($p);
		}
	}
	
	/*
	 * Sucursal -  sucursal
	 * usuario -  login_usuario
	 * fecha_inicio -    fechaIni
	 * fecha_fin - fechaFin
	 * 
	 * unidad - unidad
	 * propietario - propietario
	 * chofer - chofer
	 */
	function getSQLEnvios($p,$tipo_servicio){
		$s= "select s.* from (".Envio::filtroSQL($p,"*").")as s ";
		
		$p=json_decode( fromURL($p) );
		
		
		if(isset($p->unidad) || isset($p->propietario) || isset($p->chofer))
			$s.=",bitacoras_envios be, bitacoras b  ";

		if( isset($p->propietario) )
			$s.=", unidades u ";
		
		$s.=" where s.tipo_servicio='".$tipo_servicio."'";
		
		if(isset($p->unidad) || isset($p->propietario) || isset($p->chofer))
			$s.=" and be.id_envio=s.id_envio and be.id_bitacora=b.id_bitacora ";
	
		if( isset($p->propietario) )
			$s.=" and b.id_unidad=u.id_unidad and u.id_dueno=".$p->propietario;
		
		if(isset($p->unidad) )
			$s.=" and b.id_unidad='".$p->unidad."' ";
		
		if( isset($p->chofer) )
			$s.=" and b.id_chofer='".$p->chofer."' ";
			
		return $s;
	}
	/*function getSQLEnviosPorPagar($params){
		
	}*/
	function getSQLPasajes($p){
		$s= "select s.* from (".Boleto::filtroSQL($p).")as s ";
		
		$p=json_decode( fromURL($p) );
		
		if(isset($p->unidad) || isset($p->propietario) || isset($p->chofer))
			$s.=",bitacoras b  ";

		if( isset($p->propietario) )
			$s.=", unidades u ";
		
		$s.=" where s.asiento>0 ";
		
		if(isset($p->unidad) || isset($p->propietario) || isset($p->chofer))
			$s.=" and s.id_bitacora=b.id_bitacora ";
		
		if( isset($p->propietario) )
			$s.=" and b.id_unidad=u.id_unidad and u.id_dueno=".$p->propietario;
		
		if(isset($p->unidad) )
			$s.=" and b.id_unidad='".$p->unidad."' ";
		
		if( isset($p->chofer) )
			$s.=" and b.id_chofer='".$p->chofer."' ";
			
		return $s;
	}
	function getSqls($params){
		$params=$this->filtro($params);
		$this->sql_venta=Venta::getSQLCorte($params);
		$this->sql_credito=CCredito::getSQLCorte($params);
		$this->sql_abonos=Abono::getSQLCorte($params);
		$this->sql_pedidos_anticipo=Pedido::getSQLAnticipo($params);
		$this->sql_pedidos_liquidacion=Pedido::getSQLLiquidacion($params);
		//echo $this->sql_pedidos_liquidacion;
	}

	function  gridCorte($pa){
		$pa=$this->filtro($pa);
		
		$con=new Conexion();
		
		#envios PAGADOS
		$con->ejecutar("select count(costo_envio),sum(costo_envio) from (".$this->getSQLEnvios($pa,'Pagado').") as e");

		$i=0;
		$venta=0;
		if(!$con->vacio()){
			$i=$con->resultado(0,0);
			if($i)
				$venta=$con->resultado(0,1);	
		}
		//echo $this->sql_venta;
		$respuesta='{corte:"Envios pagados",filas:"'.$i.'",total:"'.formatMoney($venta).'"},';
		$total+=$venta;
		
		
		#envios POR COBRAR
		$con->ejecutar("select count(costo_envio),sum(costo_envio) from (".$this->getSQLEnvios($pa,'Por Cobrar').") as e");
		$i=0;
		$venta=0;
		if(!$con->vacio()){
			$i=$con->resultado(0,0);
			if($i)
				$venta=$con->resultado(0,1);	
		}
		//echo $this->sql_venta;
		$respuesta.='{corte:"Envios por cobrar",filas:"'.$i.'",total:"'.formatMoney($venta).'"},';
		$total+=$venta;
		
		
		//echo $this->getSQLPasajes($pa);
		#boletos (Pasajes)
		$con->ejecutar("select count(costo),sum(costo) from (".$this->getSQLPasajes($pa).") as e");
		$i=0;
		$venta=0;
		if(!$con->vacio()){
			$i=$con->resultado(0,0);
			if($i)
				$venta=$con->resultado(0,1);	
		}
		//echo $this->sql_venta;
		$respuesta.='{corte:"Pasajes",filas:"'.$i.'",total:"'.formatMoney($venta).'"}';
		$total+=$venta;
		
		return "{success:true, data:[".$respuesta."],total:'".formatMoney($total)."'}";
	}
}
?>
